package net.maku.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import net.maku.framework.common.utils.DateUtils;

/**
* 订单
*
* @author 小陈 
* @since 1.0.0 2025-03-17
*/
@Data
@Schema(description = "订单")
public class MainOrderVO implements Serializable {
	@Serial
	private static final long serialVersionUID = 1L;

	private Long id;

	/**
	 * 订单编号
	 */
	private String orderNumber;

	/**
	 * 发货地（国家）
	 */
	private String sendCountry;

	/**
	 * 发货地(州)
	 */
	private String sendProvince;

	/**
	 * 发货地(城市)
	 */
	private String sendCity;

	/**
	 * 目的地(城市)
	 */
	private String goalCountry;

	/**
	 * 目的地(州)
	 */
	private String goalProvince;

	/**
	 * 目的地(城市)
	 */
	private String goalCity;

	/**
	 * 发货时间
	 */
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private Date sendTime;

	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 价格
	 */
	private BigDecimal price;

	/**
	 * 价格
	 */
	private BigDecimal realPrice;

	/**
	 * 类型
	 */
	private Integer catalog;

	/**
	 * 单号状态 0-运输途中 1-收到信息 2-成功签收 3-可能异常
	 */
	private Integer orderStatus;

	/**
	 * 上传时间
	 */
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private Date createTime;

	/**
	 * 购买时间
	 */
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private Date updateTime;


	/**
	 * 版本
	 */
	private Integer version;

	/**
	 *  购买状态 0-未购买 1-已经购买
	 */
	private Integer buyStatus;

	/**
	 * 收货时间
	 */
	@JsonFormat(pattern = DateUtils.DATE_PATTERN)
	private Date receiveTime;


}